<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!-- Skapa klient till en RESTful webservice:

1: New -> Webservices -> RESTful java client. Välj en service från ett projekt. För annan service, ändra senare i klientklassen.
2: Nyckelklassen som används av klienten är WebResource. Den skapas m.h.a. clientklassen, som i sin tur skapas m.h.a. clientConfig (se kod)
   WebResource motsvarar den webservice som ska kontaktas. Den skapas genom "webResource = client.resource(BASE_URI).path("servicens namn");"
3: Varje metod som klienten ska kunna konsumera definieras i klientklassen. Den har den returtyp och de parametrar som servicemetoden har.
   om parametrar saknas kan man skriva: return webResource.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON).get(String.class);
   Finns parametrar skriver man:
   return webResource.queryParams(getQueryOrFormParams(queryParamNames, queryParamValues)).accept(javax.ws.rs.core.MediaType.APPLICATION_JSON).get(String.class);
   queryParamNames är en String[] med parametrarnas namn och queryParamValues är en String[] med parametrarnas värden.
4: För att använda klientklassen, instantiera den i en annan klass och anropa dess metoder.
           VasttrafikClient client = new VasttrafikClient();
           bajskorv = client.Location();  
5: Samband mellan metodens address och hur den definieras i klienten:
    
    [http://api.vasttrafik.se/bin/rest.exe]1/[location.name]2[?authKey=6511154616?input=Kungsportsplatsen]3
    1: BASE_URI 
    2: Servicens namn
    3: Parametrar

-->


<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:outputStylesheet library="css" name="main.css" />
    <h:head>
        <title>Facelet Title</title>        
    </h:head>
    <h:body>
        <h:form>
            <h:commandButton value="Kör Webservice" action="#{newJSFManagedBean.theMethod}" />           
        </h:form>
        <f:view>
            <h:form>
                <h:dataTable value="#{newJSFManagedBean.departures}" var="dep" rowClasses="evenRow,oddRow" columnClasses="column,column,column" class="depTable">
                    <h:column>#{dep.name}</h:column>
                    <h:column>#{dep.time}</h:column>
                    <h:column>#{dep.direction}</h:column>
                </h:dataTable>
            </h:form>
        </f:view>

    </h:body>
</html>

